1. Field of the Invention
Aspects of the present invention relate to hardware accelerated graphics rendering and surface composition. More particularly, aspects of the present invention relate to techniques for synchronizing hardware accelerated graphics rendering and surface composition.
2. Description of the Related Art
A typical multi-window graphics system with hardware accelerated graphics includes two major components, namely a hardware Graphics Processing Unit (GPU) and a surface composer. A GPU renders into a surface. A typical surface is a rectangular graphics buffer. Typically, one surface corresponds to a window in a screen of a processing device. The surface composer composes multiple surfaces into the screen.
The typical multi-window graphics system with hardware accelerated graphics described above may encounter an out-of-sync problem for some types of animation. For example, the out-of-sync problem may be encountered for types of animation that require the graphics animation inside individual surfaces to be synchronized with the motion of the surfaces themselves. Herein, the types of animation where the graphics animation inside individual surfaces should be synchronized with the motion of the surfaces themselves are referred to as Sync Needed Animation. An example of Sync Needed Animation is described below.
An example of Sync Needed Animation is an “explosion of the windows” animation. In the “explosion of the windows” animation, a flaming explosion animation is rendered using Open Graphics Library (OpenGL) in a background surface. The background surface fills up the entire size of the screen of the processing device.
During the animation, a plurality of small windows “fly out” from the middle of the desktop screen. Each small window of the plurality of small windows is one surface. The “flying” motion of the small windows should be synchronized with the speed of the explosion animation. If the “flying” motion of the small windows is not synchronized with the speed of the explosion animation, the “window flying” motion looks disconnected from the explosion and thus appears unnatural to a user of the processing device.
Another problem encountered with the above-described typical multi-window graphics system with hardware accelerated graphics is the alignment of flash windows with surrounding content on a scrolling web browser page.
When a web browser page is scrolled, a scrolling animation is rendered using OpenGL in a background surface. During this animation, a small flash window, which is also a surface, should move together with the surrounding web page content. When the motion of the flash window is not synchronized with the scrolling animation, the flash window appears to the user as “fluttering around” the surrounding web page content.
Accordingly, there is a need for techniques that address the out-of-sync problem for the Sync Needed Animations in the multi-window graphics system with hardware accelerated graphics.
The above information is presented as background information only to assist with an understanding of the present disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as Prior Art with regard to the present invention.